package main

import (
	"encoding/json"
	"fmt"
)

type sendMsg struct {
	User string `json:"user"`
	Msg  string `json:"msg"`
}

func main() {

	jsonStr := `{"sendMsg":{"user":"1","msg":"2"},"say":"hello"}`
	var data map[string]json.RawMessage // 存储原始字节数据
	if err := json.Unmarshal([]byte(jsonStr), &data); err != nil {
		fmt.Printf("json unmarshal jsonStr failed， err:%v\n", err)
		return
	}

	var msg sendMsg

	if err := json.Unmarshal(data["sendMsg"], &msg); err != nil {
		fmt.Printf("json.Unmarshal failed, err:%v\n", err)
		return
	}

	fmt.Printf("msg:%#v\n", msg) // msg:main.sendMsg{User:"1", Msg:"2"}

}
